# 第七节 While循环
#一、
#1、使用标志位退出循环
promt = "\nTell me something, and I willl repeat it  back to you: "
active = True
while active:
    message = input(promt)

    if message == 'quit': 
        active = False;  # 标志位，当输入quit时，标志位位False,退出循环
    else:
        print(message)
'''
Tell me something, and I willl repeat it  back to you: luck
luck

Tell me something, and I willl repeat it  back to you: hello word
hello word

Tell me something, and I willl repeat it  back to you: quit
'''
#2、使用beak退出循环
promt = "\nEnter 'luck' end the progress: "
active = True
while active:
    message = input(promt)

    if message == 'luck': 
        break;  #当输入luck时，break,退出循环
    else:
        print(message)
'''
Enter 'luck' end the progress: I am luck
I am luck

Enter 'luck' end the progress: luck
'''
# 3、在循环中使用contine
m = 0;
while m<5:
    m = m+1
    if m == 3: 
        continue;  #当m=3 时下面代码不执行，跳到m=4
    else:
        print('m=\r',m)
'''
m=
 1
m=
 2
m=
 4
m=
 5
'''
# 二、使用whil循环处理列表和字典
# 1、在列表之间移动元素
strs = ['马云','马化腾','郭汉林']
sl = []
while strs:
    s = strs.pop()
    print('strs弹出的元素：',s)
    sl.append(s)
print("strs:",strs)
print("sl:",sl)
'''
strs: []
sl: ['郭汉林', '马化腾', '马云']
'''
#3、删除元素：strs.remove('胡歌')
#4、使用用户输入来填充字典
strs={}
m = 0
while m<3:
    m = m+1
    name = input('输入name:')
    location = input('输入地点：')
    #strs.append(name,location)
    strs[name] = location
print('strs:',strs)
'''
输入name:马云
输入地点：华山
输入name:Bob
输入地点：哈桑
输入name:Lisa
输入地点：清河
strs: {'马云': '华山', 'Bob': '哈桑', 'Lisa': '清河'}
'''

# 第八节 函数
# 一、普通函数
def get_name(first_name,last_name):
    """返回姓名"""
    name = f"{first_name} {last_name}"
    return name #返回值
name = get_name('bai','li')#位值实参(按形参顺序赋值)
print(name.title())
'''
Bai Li
'''
def get_name(first_name,last_name):
    """返回姓名"""
    name = f"{first_name} {last_name}"
    return name 
name = get_name(first_name='bai',last_name='li')#关键字实参
print(name.title())
#3、默认值
def get_name(first_name,last_name='东方'):
    """返回姓名"""
    name = f"{first_name} {last_name}"
    return name
name = get_name(first_name='白')#关键字实参
print(name.title())
'''
白 东方
'''
#3、位置、关键字实参、默认混用
def get_name(first_name, gender, last_name='东方'):
    """返回姓名"""
    name = f"{first_name} {last_name} 'is' {gender}"
    return name
name = get_name('白',gender='男人') #关键字实参
print(name.title())
'''
白 东方 'Is' 男人
'''
# 注：第一个为关键字实参时只适用于（实参都用关键字实参），要么第一个为位置实参
# 二、将函数存储在模块中

#1、导入整个模块
'''
import Unit7
Unit.function(param1,param2)
'''
#2、导入特定的函数
'''
form model_name import function_name
'''
# 3、使用as给函数模块指定别名
'''
form model_name as m import function_name as mh
'''
# 4、导入模块中的所有函数
'''
from model_name import *
'''


